Named Backreferences গাইড ও নোট

Web Development - জাভাস্ক্রিপ্ট রেগএক্সপি (Javascript RegExp) - Backreferences এবং Recursion
327

Named Backreferences RegExp-এ ব্যবহৃত হয়, যখন আপনি গ্রুপের নাম ব্যবহার করে পূর্ববর্তী গ্রুপের মান পুনরায় রেফারেন্স করতে চান। এটি traditional backreferences (যেমন \1, \2 ইত্যাদি) এর চেয়ে অনেক বেশি পাঠযোগ্য এবং স্পষ্ট হয়, কারণ এখানে আপনি গ্রুপের নাম ব্যবহার করতে পারেন। Named Backreferences আপনাকে কোডে আরও স্পষ্টভাবে বুঝতে সাহায্য করে যে কোন গ্রুপের মান পুনরায় ব্যবহার করা হচ্ছে।


Named Backreferences এর সিনট্যাক্স

Named Backreferences তৈরি করার জন্য, প্রথমে আপনাকে Named Capturing Groups ব্যবহার করে গ্রুপগুলো নাম দিতে হবে, তারপর সেই নাম ব্যবহার করে backreference করতে হবে। Named Backreferences এর সিনট্যাক্স এভাবে কাজ করে:

সিনট্যাক্স:

/(?<groupName>pattern)\k<groupName>/

এখানে:

  • (?<groupName>pattern) — এটি একটি Named Capturing Group, যেখানে groupName হল গ্রুপের নাম।
  • \k<groupName> — এটি Named Backreference, যেখানে groupName হল গ্রুপের নাম এবং এটি প্রথম গ্রুপের সাথে পুনরাবৃত্তি খুঁজে বের করে।

Named Backreferences এর উদাহরণ

ধরা যাক, আমরা এমন একটি প্যাটার্ন তৈরি করতে চাই যেখানে দুটি শব্দ একই হবে, যেমন "hello hello":

let regex = /(?<word>hello) \k<word>/;
let str = "hello hello";
console.log(regex.test(str));  // true

এখানে:

  • (?<word>hello) একটি Named Capturing Group, যার নাম "word" এবং এটি "hello" মেলাবে।
  • \k<word> একটি Named Backreference যা "word" নামক গ্রুপের মান "hello" এর পুনরাবৃত্তি খুঁজে বের করবে। ফলে, স্ট্রিং "hello hello" ম্যাচ হবে।

আরও Named Backreferences এর উদাহরণ

ধরা যাক, আমরা একটি স্ট্রিং থেকে দুটি সংখ্যার প্যাটার্ন তৈরি করতে চাই, এবং দুটি সংখ্যার পুনরাবৃত্তি খুঁজে বের করতে চাই:

let regex = /(?<first>\d{2})-(?<second>\d{2})-\k<first>-\k<second>/;
let str = "12-34-12-34";
console.log(regex.test(str));  // true

এখানে:

  • (?<first>\d{2}) এবং (?<second>\d{2}) দুটি Named Capturing Group, যার মাধ্যমে প্রথম দুটি সংখ্যা (যেমন "12" এবং "34") গ্রুপ করা হচ্ছে।
  • \k<first> এবং \k<second> হল Named Backreferences, যা প্রথম দুটি সংখ্যার পুনরাবৃত্তি খুঁজে বের করবে এবং "12-34-12-34" স্ট্রিংটি মেলাবে।

Named Backreferences এবং সাধারণ Backreferences এর মধ্যে পার্থক্য

বৈশিষ্ট্যNamed BackreferencesGeneral Backreferences
রেফারেন্সের সিনট্যাক্স\k<groupName>\n (গ্রুপের ইনডেক্স নম্বর)
কোডের পাঠযোগ্যতাআরও স্পষ্ট এবং পাঠযোগ্যকম পাঠযোগ্য (গ্রুপ ইনডেক্স নম্বর ব্যবহার করতে হয়)
ব্যবহারগ্রুপের নাম ব্যবহার করেইনডেক্স ব্যবহার করে
উদাহরণ\k<word>\1

সারাংশ

Named Backreferences RegExp-এ ব্যবহার করা হয় পূর্ববর্তী Named Capturing Group এর মান পুনরায় রেফারেন্স করতে। এটি সাধারণ backreferences থেকে অনেক বেশি পাঠযোগ্য এবং স্পষ্ট, কারণ আপনি গ্রুপের নাম ব্যবহার করতে পারেন। Named Backreferences ব্যবহার করে আপনি কোডে আরও পরিষ্কারভাবে বুঝতে পারেন যে কোন গ্রুপের মান পুনরায় ব্যবহার করা হচ্ছে। এটি জটিল প্যাটার্নের জন্য খুবই কার্যকর, বিশেষ করে যখন আপনার অনেক গ্রুপ থাকে এবং সেগুলোর উদ্দেশ্য বুঝতে সাহায্য করতে নাম দেওয়া হয়।

Content added By
Promotion

Are you sure to start over?

Loading...